██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Grid computing
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
In mwbainformatica i mwbqgrid computing o mwbgsistemi grid sono un'infrastruttura di mwbwcalcolo distribuito, utilizzati per l'mwcaelaborazione di grandi quantità di mwcqdati, mediante l'uso di una vasta quantità di mwcgrisorse. In particolare, tali sistemi permettono la condivisione coordinata di risorse all'interno di un'organizzazione virtuale.
Contents
• Storia
• GridSim
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Storia
La condivisione delle risorse di calcolo permette di suddividere la mwdwstoria dell'informatica in 4 ere. La prima era quella caratterizzata dall'idea di un singolo computer per molti utenti. In questa era l'acquisto delle risorse di calcolo ha costi talmente ingenti che il problema è quello dell'uso contemporaneo di tali risorse da parte dei diversi utenti.
A partire dagli mweqanni ottanta i costi dell'hardware subirono cali che permisero di avere un computer per ogni singolo utente. Nascono in questo periodo i primi mwegpersonal computer e l'infrastruttura di calcolo si evolve verso il mwewSIMD. Già dalla fine degli anni '80 si comincia a diffondere l'idea della condivisione dell'architettura hardware ciò anche grazie al già detto calo dei prezzi, portando alla nascita delle prime macchine parallele virtuali.
Gli mwfqanni novanta sono quelli durante i quali si applica in toto la mwfglegge di Moore e si affermano le mwfwreti di calcolatori e mwgaInternet (concetti fondamentali per il mwgqgrid).
Evoluzione del grid computing
Attualmente, la più importante grid europea è quella del mwiaCERN di mwiqGinevra che ora si chiama EGEE (gLite è il nome del middleware che produce; precedentemente LCG e prima ancora DataGrid), sviluppata - tra gli altri - da un team italo-ceco e prevalentemente presso l'mwigINFN, l'Istituto Nazionale di Fisica Nucleare.
A differenza di quella utilizzata da SETI@Home, attualmente una grid viene concepita prevedendo un livello di mwjamiddleware fra le risorse di calcolo e memoria (CE - computing element e SE - storage element) e gli utenti della grid stessa.
Lo scopo principale del middleware è quello di effettuare il cosiddetto mwjgmatch-making, ossia l'accoppiamento tra le risorse richieste e quelle disponibili in modo da garantire la distribuzione dei job (termine utilizzato nei sistemi mwjwbatch per indicare un mwkaprocesso o una parte di esso) nelle condizioni migliori avendo sempre visibilità dello stato dell'intera grid.
Un altro importante fenomeno da evidenziare è la nascita accanto alle grandi grid nazionali ed internazionali, di molteplici implementazioni su scala locale o metropolitana di sistemi distribuiti che mantengono le caratteristiche di una grid. Tali sistemi vengono indicati con i termini Local Area Grid (LAG) e Metropolitan Area Grid (MAG) o, più semplicemente, Metropolitan Grid con chiaro riferimento alla classificazione introdotta nell'ambito del network (mwkgLAN, mwkwMAN, mwlaWAN). Come la coordinazione di grid nazionali prevede la futura costituzione di un world wide grid, le implementazioni di locali o di grid metropolitane si avvicinano al mondo delle mwlqIntranet. Esse infatti forniscono un tipo di infrastruttura che può essere usata più semplicemente di internet per l'introduzione del calcolo distribuito in ambito aziendale.
L'organismo di riferimento per lo sviluppo di omogeneità e standard dei protocolli usati dalle grid è GGF (Global Grid Forum), che ha creato gli standard OGSA (Open Grid Services Architecture). Nel 2004 è stato emanato WSRF (Web Services Resource Framework), che è un insieme di specifiche per aiutare i programmatori a scrivere applicazioni capaci di accedere alle risorse grid.
Oggi il software più famoso ed utilizzato è mwmqBOINC, un software di Grid Computing sviluppato dall'mwmgUniversità della California (Berkeley). La sigla BOINC infatti sta per Berkeley Open Infrastructure for Network Computing. Questo software è open source.
Descrizione
I sistemi grid
Il termine "griglia", in inglese mwnggrid, è stato coniato intorno alla metà degli anni novanta. Il vero e specifico problema alla base del concetto di griglia è la condivisione coordinata di risorse all'interno di una dinamica e multi-istituzionale organizzazione virtuale (Virtual Organization, brevemente indicata con VO)cite-ref-1[1]. La condivisione non è limitata solo allo scambio dei file, ma si estende all'accesso diretto a mwowcomputer, a mwpasoftware, in generale a tutto l'mwpqhardware necessario alla risoluzione di un problema scientifico, ingegneristico o industriale. Gli individui e le istituzioni, che mettono a disposizione della griglia le loro risorse per la medesima finalità, fanno parte della stessa VO.
Caratteristica comune dei progetti grid è la necessità di disporre un ambiente di calcolo data-intensive, all'interno del quale le applicazioni hanno il bisogno di accedere a grandi quantità di dati geograficamente distribuiti in maniera veloce e affidabile ed, è proprio l'onere della grid, far operare tali applicazioni nel miglior modo possibile. È facile osservare che nessun computer attualmente in commercio sarebbe in grado, da solo, di elaborare simili moli di dati in tempi ragionevoli; tuttavia la condivisione di risorse quali mwpwCPU e dischi opportunamente coordinati può dare l'impressione all'utente di accedere ad un supercomputer virtuale, con un'incredibile potenza computazionale e capacità di memorizzazione in grado di sopportare grandi carichi di lavorocite-ref-2[2]. Dall'idea di far apparire tutta l'architettura di un grid come un unico mwrasupercomputer virtuale, celando all'utilizzatore tutta la complessità interna e mostrandogli solo i benefici, nasce l'esigenza di progettare e realizzare uno mwrqschedulatore di risorse Resource Broker.cite-ref-3[3]
Esso è uno dei componenti critici del sistema di gestione delle risorse, ha il compito di assegnare le risorse ai job (gridlet), in modo da soddisfare le esigenze delle applicazioni e del sistema. Le risorse di cui esso deve tenere traccia e gestire includono sistemi di calcolo e sistemi di immagazzinamento dati (mediante lo Storage Broker, rete di interconnessione e, tramite il mwswNetwork Monitor)cite-ref-4[4]. Lo scheduling è un campo tradizionale dell'informatica, ma nonostante siano state studiate molte tecniche per numerose tipologie di sistemi (da uniprocessore a multiprocessore ai sistemi distribuiti), le caratteristiche tipiche delle griglie di dati rendono molti di questi approcci inadeguati. Infatti, mentre nei sistemi tradizionali le risorse e i job sono sotto il diretto controllo dello schedulatore, le risorse delle griglie sono geograficamente distribuite. Queste ultime sono di natura eterogenea e, appartengono a diversi individui o organizzazioni, ciascuna con le proprie politiche di scheduling, modelli di costo di accesso differenti, carichi di lavoro e disponibilità di risorse che varia dinamicamente nel tempo. La mancanza di un controllo centralizzato, insieme alla presenza di utenti che generano job (gridlet), molto diversi l'uno dall'altro, rendono la schedulazione più complicata rispetto a quella dei sistemi di calcolo tradizionali.
Classificazioni del grid computing
Il grid computing si differenzia dal mwuwcloud computing o dal peer-to-peer computing principalmente per tre fattori:cite-ref-5[5]
• Coordinamento decentrale, locale o globale di risorse quali cluster di computer, analisi di dati, database, ecc.
• Interfacce standardizzate e aperte (nodi) e mwwwmiddleware che si occupano di distribuire le operazioni e connettono le unità di calcolo alla "main grid".
• Un servizio che distribuisce i flussi di dati in maniera ottimale e garantisce la scalabilità anche nel caso di operazioni di calcolo complesse.
Inoltre, vi sono diversi tipi di grid computing:
• Computing grid (griglia di calcolo): si tratta della forma classica. Gli utenti usano la capacità di calcolo di un supercomputer virtuale, fornito dal provider, per distribuire e scalare i processi di calcolo complessi.
• Data grid (griglia di dati): qui vengono sfruttate le capacità di calcolo dei computer presenti in un cluster per valutare, trasmettere, condividere e analizzare grandi quantità di dati.
• Knowledge grid: si occupa di scansionare, collegare, raccogliere, valutare e strutturare record di dati e database.
• Ressource grid: un sistema che stabilisce le gerarchie tra tutti gli attori del grid computing.
• Service grid: questo tipo di grid computing combina le prestazioni di calcolo del computer a quelle del servizio in uso.
Applicazioni del grid computing
Un esempio di applicazione del paradigma di grid computing è mwzwneuGRID, un progetto del 7° Programma Quadro che prevede lo sviluppo di un'infrastruttura per lo studio delle malattie neurodegenerative.
GridSim
È stata elaborata un'interfaccia grafica che permette all'utente di inserire le caratteristiche del sistema grid, di cui si analizza il comportamento, presentandone di volta in volta la ricostruzione grafica. Al termine della prima fase, ossia l'inserimento delle caratteristiche, si avvia la seconda fase, relativa alla simulazione. Durante la simulazione i dati vengono elaborati e viene presentato all'utente il report con tutte le informazioni e le risposte del sistema. Per la simulazione viene utilizzato il simulatore GridSim mentre per la rappresentazione grafica del sistema viene utilizzato JUNG. JUNG (Java Universal Network/Graph Framework) è una libreria di modellazione e visualizzazione open source dei grafi, scritta in Java.
Note
cite-note-11. ↑ mwdqIan Foster, C. Kesselman, S. Tuecke, mwdgmwdwThe Anatomy of the Grid: Enabling Scalable Virtual Organizations (mweamweqPDF), Intl. J. Supercomputer Applications, 2001 mweg(archiviato dall'mwewurl originale il 25 aprile 2005).
cite-note-22. ↑ mwgaM. Baker, R. Buyya, D. Laforenza, mwgqmwggThe Grid: International Efforts in Global Computing, International Conference on Advances in Infrastructure for Electronic Business, Science and Education on the Internetmwhq (mwjqmwjgPDF), L'Aquila, agosto 2000.
cite-note-33. ↑ mwkwK. Krauter, R.Buyya, M.Maheswaran, mwlamwlqA Taxonomy and Survey of Grid Resource Management System for Distributed Computing, Software: Practice and Experience (SPE) Journal (mwlgmwlwPDF), New York, 2001.
cite-note-44. ↑ mwnaS. Vazhkudai, S. Tuecke, and I. Foster, mwnqReplica Selection in the Globus Data Grid, Proceedings of the First IEEE/ACM International Conference on Cluster Computing and the Grid (CCGRID 2001), pp. 106-113, IEEE Computer Society Press, maggio 2001.
cite-note-55. ↑ mwogmwowmwpaChe cos’è il grid computing?, su mwpqionos.it. mwpgURL consultato il 28 gennaio 2022.
Bibliografia
• mwqg(EN) Patrick P. Gelsinger, P.A. Gargini, G.H. Parker, A.Y.C. Yu, Microprocessors circa 2000, 1989.
• mwrq(EN) Peter M. Kogge, The architecture of Symbolic Computers, McGraw-Hill, 1991, ISBN 0-07-035596-7.
• mwrw(EN) Ian Foster, Carl Kesselman, The Grid 2: Blueprint for a New Computing, Morgan Kaufmann, 2003, ISBN 1-55860-933-4.
• citerefadcAndrew Stuart Tanenbaum, Grid computing, in Architettura dei calcolatori. Un approccio strutturale, Milano, Pearson Education, 2006, pp. 626-628, ISBN 978-88-7192-271-3.
Voci correlate
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su grid computing
Collegamenti esterni
• mwwg(EN) Grid forum, su gridforum.org.
• mwxa(EN) INFN-Grid, su grid.infn.it. URL consultato il 21 dicembre 2004 (archiviato dall'url originale il 18 ottobre 2007).
• mwxgThe Metropolitan Area Grid, su people.na.infn.it.
• mwyaGruppo di Ricerca sull'Informatica Distribuita mwyqArchiviato il 18 giugno 2006 in Internet Archive. dell'mwywUniversità degli Studi di Napoli "Federico II"
• mwzq(EN) Grid Cafe, su gridcafe.org. URL consultato l'8 settembre 2018 (archiviato dall'url originale il 5 dicembre 2008).
• mwzw(EN) Il progetto EU DataGrid, su eu-datagrid.web.cern.ch. URL consultato l'8 settembre 2006 (archiviato dall'url originale il 31 agosto 2016).
• mw0q(EN) La LHC Computing Grid, su lcg.web.cern.ch. URL consultato l'8 settembre 2006 (archiviato dall'url originale il 19 agosto 2006).
• mw0w(EN) EGEE (enabling grid for the e-science), su public.eu-egee.org. URL consultato l'8 settembre 2006 (archiviato dall'url originale l'8 settembre 2006).
• mw1q(EN) Progetto HackGrid!, su hackgrid.org. URL consultato il 13 dicembre 2021 (archiviato dall'url originale il 4 aprile 2008).
• mw1w(EN) DEISA, su deisa.org.
• mw2qENEA CRESCO, su cresco.enea.it.
• mw2w(EN) CoreGRID Network of Excellence, su coregrid.net.
• mw3qPagina web sul progetto Trigrid, su andreacannella.altervista.org. URL consultato il 2 marzo 2009 (archiviato dall'url originale il 2 marzo 2010).
• mw3wArticolo riguardo allo sviluppo di un sistema di grid computing in Java, su programmingmore.blogspot.com.